import {  reqGetSearchInfo } from '@/api'
// search 存储数据的小仓库
// 存储仓库数据的地方
const state = {
  searchList: {}
}
// 修改state的唯一手段
const mutations = {
  GETSEARCHLIST(state, searchList) {
    state.searchList = searchList
  }
}
// 处理action可以书写自己的业务逻辑，也可以处理异步
const actions = {
  async getSearchList({ commit }, params = {}) {
    // params 形参：是当用户派发action的时候，第二个参数传过来的，至少是一个空对象
    let result = await reqGetSearchInfo(params)
    if (result.code == 200) {
      commit("GETSEARCHLIST", result.data)
    }
  },
  
}

// 理解为计算属性，用于简化出库数据，让组件获取仓库的数据更加方便
// 在项目中，为了简化数据而生
// 可以把我们将来在组件当中需要用的数据简化一下【将来组件获取数据时就方便了】
const getters = {
  // 当前形参state：是当前仓库中的state，并非大仓库中的state
  // 属性
  goodsList(state) {
    // 假如网络不给力返回 || 没有网  state.searchList.goodsList 返回的应该是一个undefined
    // 计算新的属性的属性值至少给人家返回一个一个数组 空的也可以
    return state.searchList.goodsList || []
  },

  attrsList(state) {
    return state.searchList.attrsList || []
  },
  // 品牌
  trademarkList(state) {
    return state.searchList.trademarkList || []
  },
}

export default {
  state,
  mutations,
  actions,
  getters,
}